home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 280_01 / crypt0.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-01-11  |  1.6 KB  |  64 lines

  1. /* [crypt0.c of JUGPDS Vol.46] */
  2. /*
  3. *****************************************************************
  4. *                                *
  5. *    Written by  Hakuo Katayose (JUG-CP/M No.179)        *
  6. *            49-114 Kawauchi-Sanjuunin-machi        *
  7. *            Sendai, Miyagi 980                          *
  8. *            Phone: 0222-61-3219                *
  9. *                                *
  10. *       Modifird by Toshiya Oota   (JUG-CPM No.10)              *
  11. *                   Sakae ko-po 205                 *
  12. *            5-19-6 Hosoda                *
  13. *            Katusikaku Tokyo 124            *
  14. *                                *
  15. *        for MS-DOS Lattice C V3.1J & 80186/V20/V30    *
  16. *                                *
  17. *    Compiler Option: -ccu -k0(1) -ms -n -v -w        *
  18. *                                *
  19. *    Edited & tested by Y. Monma (JUG-CP/M Disk Editor)    *
  20. *            &  T. Ota   (JUG-CP/M Sub Disk Editor)    *
  21. *                                *
  22. *****************************************************************
  23. */
  24.  
  25. /* Library functions for Software Tools */
  26.  
  27. #include "stdio.h"
  28. #include "dos.h"
  29. #include "ctype.h"
  30. #include "tools.h"
  31. #include "toolfunc.h"
  32.  
  33. /* crypt - encryt and decrypt */
  34.  
  35. #define    MAXKEY    32
  36.  
  37. void    main(argc, argv)
  38. int    argc;
  39. char    *argv[];
  40.  
  41. {
  42. int    i, keylen, c;
  43. char    key[MAXKEY];
  44.  
  45.     if (argc < 2) {
  46.         error("CRY911 Usage: crypt0 key <infile >outfile");
  47.         exit(1);
  48.         }
  49.     strcpy(key, argv[1]);
  50.     if ((keylen = strlen(key)) <= 0) {
  51.         error("CRY912 Usage: crypt0 key");
  52.         exit(1);
  53.         }
  54. #if LATTICE
  55.     fmode(stdin,1);            /* Set stdin  to binary mode */
  56.     fmode(stdout,1);        /* Set stdout to binary mode */
  57. #endif
  58.     for (i = 1; (c=getchar()) != EOF; i= i%keylen + 1)
  59.         if ((c ^ key[i]) == CPMEOF)
  60.             putchar((c ^ key[i]) ^ key[i]);
  61.         else
  62.             putchar(c ^ key[i]);
  63. }
  64.